package com.uzai.console.service.fd;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.fd.fdsendjobdetail.*;
import com.uzai.console.vo.fd.fdsendjob.FdSendJobSubVo;
import com.uzai.console.vo.fd.fdsendjob.FdSendMsgVo;

/**
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface FdSendJobDetailService {

    /**
     * 查询发单发送子任务列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param query
     * @return null
     */
    Page<FdSendJobSubVo> findFdSendJobSubList(FdSendJobSubQuery query);

    /**
     * 查询发单发送子任务详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param fdSendJobSubIdDto
     * @return null
     */
    FdSendJobSubVo findFdSendJobSub(FdSendJobSubIdDto fdSendJobSubIdDto);

    /**
     * 修改发单发送子任务开始时间
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param fdSendJobSubDto
     * @return null
     */
    void updateFdSendJobSub(FdSendJobSubDto fdSendJobSubDto);

    /**
     * 开始发单发送子任务
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param fdSendJobSubIdDto
     * @return null
     */
    void startFdSendJobSub(FdSendJobSubIdDto fdSendJobSubIdDto);

    /**
     * 暂停发单发送子任务
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param fdSendJobSubIdDto
     * @return null
     */
    void pauseFdSendJobSub(FdSendJobSubIdDto fdSendJobSubIdDto);

    /**
     * 结束群发任务
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param fdSendJobSubIdDto
     * @return null
     */
    void finishFdSendJobSub(FdSendJobSubIdDto fdSendJobSubIdDto);

    /**
     * 删除群发任务
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param fdSendJobSubIdDto
     * @return null
     */
    void deleteFdSendJobSub(FdSendJobSubIdDto fdSendJobSubIdDto);

    /**
     * 查询群发任务消息列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param query
     * @return null
     */
    Page<FdSendMsgVo> findFdSendMsgList(FdSendMsgQuery query);

    /**
     * 查询群发消息详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param fdSendMsgIdDto
     * @return null
     */
    FdSendMsgVo findFdSendMsg(FdSendMsgIdDto fdSendMsgIdDto);

    /**
     * 修改群发消息开始时间
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param fdSendMsgUpdateDto
     * @return null
     */
    void updateFdSendMsg(FdSendMsgUpdateDto fdSendMsgUpdateDto);

    /**
     * 删除群发消息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param fdSendMsgIdDto
     * @return null
     */
    void deleteFdSendMsg(FdSendMsgIdDto fdSendMsgIdDto);
}
